Adaptive Load Balancing for MPI Programs
نویسندگان
چکیده
Parallel Computational Science and Engineering (CSE) applications often exhibit irregular structure and dynamic load patterns. Many such applications have been developed using MPI. Incorporating dynamic load balancing techniques at the application-level involves significant changes to the design and structure of applications. On the other hand, traditional run-time systems for MPI do not support dynamic load balancing. Object-based parallel programming languages, such as Charm++ support efficient dynamic load balancing using object migration. However, converting legacy MPI applications to such object-based paradigms is cumbersome. This paper describes an implementation of MPI, called Adaptive MPI (AMPI) that supports dynamic load balancing for MPI applications. Conversion from MPI to this platform is straightforward even for large legacy codes. We describe our positive experience in converting the component codes ROCFLO and ROCSOLID of a Rocket Simulation application to AMPI.
منابع مشابه
Object-Based Adaptive Load Balancing for MPI Programs∗
Parallel Computational Science and Engineering (CSE) applications often exhibit irregular structure and dynamic load patterns. Many such applications have been developed using procedural languages (e.g. Fortran) in message passing parallel programming paradigm (e.g. MPI) for distributed memory machines. Incorporating dynamic load balancing techniques at the application-level involves significan...
متن کاملDynamic Load-Balancing for Data-Parallel MPI Programs
|This paper describes the load-balancing support available in DParLib, a library of MPI-based routines that support the data-parallel style of programming in MPI. The basic structure of DParLib is described with a focus on the parts of the library needed to support the distribution and redistribution of arrays.
متن کاملAutomatic MPI to AMPI Program Transformation
Adaptive MPI is an implementation of the Message Passing Interface (MPI) standard. AMPI benefits MPI programs with features such as dynamic load balancing, virtualization, and checkpointing. AMPI runs each MPI process in a user-level thread, therefore causing problems when an MPI program has global variables. Manually removing the global variables in the program is tedious and error-prone. In t...
متن کاملHector : User – Transparent Resource Allocation for MPI
– Hector, a complete job scheduling and parallel run–time environment, is intended to present many features both to parallel and sequential jobs, including dynamic load balancing, checkpointing, near–real–time resource awareness, and transparency to the programmer/user. This describes some recent work on user–transparent enhancements to support load balancing, near–real–time resource awareness,...
متن کاملAdaptive multivariate integration using MPI
We describe a coarse grain parallel algorithm for multivariate adaptive integration using MPI. The algorithm is asynchronous in nature and allows for load balancing. Timing results show good speedups obtained on a network of workstations for a class of integrals from Bayesian statistics.
متن کامل